
#ifndef _Timer_H
#define _Timer_H

namespace Timer {

	// Initialise the timer, call this before any other calls to timer are made.
	void initialise(void);

	// Update the timer, do this ONCE every frame, before the calculations are made for that frame.
	void update(void);

	// Returns the current number of milliseconds since the program was started.
	unsigned int currentTicks(void);

	// Query the timer how many seconds have passed since the last frame.
	float secondsSinceLastFrame(void);

	// Query the timer how many milliseconds have passed since the last frame.
	unsigned int millisecondsSinceLastFrame(void);

	// Returns the average FPS over the runtime of the program.
	float queryAverageFPS(void);

}

#endif

